<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>2.3.1数组的解构赋值</title>
    </head>
    <body>
        <script>
            //【例2.17】数组的解构赋值
            //基本用法
            let [x,y]=[1,2];
            console.log(x,y);//1,2

            //剩余运算符
            let a,b,rest;
            [a,b,...rest]=[1,2,3,4,5,6];
            console.log(a,b,rest);//rest[3,4,5,6]

            //可忽略
            let [a2,,b2]=[1,2,3];
            console.log(a2,b2);

            //不完全解构
            let [a3,b3]=[1];
            console.log(a3,b3);

            //解构默认值
            let [a4,b4=2]=[1];
            console.log(a4,b4);

            //对字符串进行解构赋值
            let [a5,b5,c,d,e]="hello";
            console.log(a5,b5,c,d,e);
            //数组使用解构赋值时,可以使用剩余运算符rest,表示将剩余的值解构到rest中。
            //当左边的模式变量少于右边的数组时，可忽略对应的值。当左边的模式变量多于右边的数组值
            //时，称之为不完全解构，此时按顺序解构，解构不成功的赋值为undefined。
        </script>
    </body>
</html>